Unmanned aerial vehicle data management

ABSTRACT

A secure chain of data blocks is maintained at a given computing node, wherein the given computing node is part of a set of computing nodes in a distributed network of computing nodes, and wherein each of the set of computing nodes maintains the secure chain of data blocks. The secure chain of data blocks maintained at each computing node comprises one or more data blocks that respectively represent one or more transactions associated with an unmanned aerial vehicle (UAV). At least one data block is added to the secure chain of data blocks maintained at the given computing node in response to determining that transaction data associated with the at least one data block is valid.

BACKGROUND

An unmanned aerial vehicle (UAV), commonly referred to as a drone, is anaircraft that operates without a human pilot. UAVs may operate underremote control, or autonomously using an onboard computer system. Withthe increasing popularity of UAVs, it is becoming more and moreimportant to address privacy and security concerns associated with UAVflight.

SUMMARY

Embodiments provide techniques for management of data associated withunmanned aerial vehicles (UAVs).

In one embodiment, a method comprises the following steps. A securechain of data blocks is maintained at a given computing node, whereinthe given computing node is part of a set of computing nodes in adistributed network of computing nodes, and wherein each of the set ofcomputing nodes maintains the secure chain of data blocks. The securechain of data blocks maintained at each computing node comprises one ormore data blocks that respectively represent one or more transactionsassociated with an unmanned aerial vehicle (UAV). At least one datablock is added to the secure chain of data blocks maintained at thegiven computing node in response to determining that transaction dataassociated with the at least one data block is valid. The steps areimplemented via at least one processor operatively coupled to a memoryassociated with the given computing node.

In another embodiment, an apparatus comprises at least one processor anda memory operatively coupled to the processor to form a given computingdevice that is part of a set of computing nodes in a distributed networkof computing nodes, wherein each of the set of computing nodes maintainsa secure chain of data blocks. The processor and memory are configuredto: maintain the secure chain of data blocks at the given computingnode, wherein the secure chain of data blocks maintained at eachcomputing node comprises one or more data blocks that respectivelyrepresent one or more transactions associated with an unmanned aerialvehicle (UAV); and add at least one data block to the secure chain ofdata blocks maintained at the given computing node in response todetermining that transaction data associated with the at least one datablock is valid.

In yet another embodiment, a computer program product comprises aprocessor-readable storage medium having encoded therein executable codeof one or more software programs. The one or more software programs whenexecuted by the one or more processors implement steps of: maintaining asecure chain of data blocks at a given computing node, wherein the givencomputing node is part of a set of computing nodes in a distributednetwork of computing nodes wherein each of the set of computing nodesmaintains the secure chain of data blocks, wherein the secure chain ofdata blocks maintained at each computing node comprises one or more datablocks that respectively represent one or more transactions associatedwith a UAV; and adding at least one data block to the secure chain ofdata blocks maintained at the given computing node in response todetermining that transaction data associated with the at least one datablock is valid.

Advantageously, illustrative embodiments provide effective techniquesfor managing data related to a UAV. These illustrative embodimentsprovide a secure and robust approach to tracking and appendinginformation related to the UAV, particularly when a security risk levelis considered to be relatively high. The data may be managed as part ofa secure chain of data blocks (e.g., in blockchain networks) associatedwith the UAV that chronicles a status path of the UAV through its recentand/or complete history. In this manner, the various characteristics andparameters of the UAV may be securely tracked using the secure chain ofdata blocks, including UAV location (e.g., including elevation), UAVmanufacturer and/or model, UAV identification data, UAV capabilities(e.g., camera resolution), UAV flying behavior (e.g., erratic behavior),contextual information (e.g., weather conditions, proximity to arestricted/exclusion zone), etc. Transaction data can be added as ablock to the chain more frequently when a risk level is relatively high(e.g., UAV is close to a restricted/exclusion zone).

These and other exemplary embodiments of the invention will be describedin or become apparent from the following detailed description ofexemplary embodiments, which is to be read in connection with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of a system architecture of anunmanned aerial vehicle system with which one or more embodiments of theinvention are implemented.

FIG. 2 illustrates a blockchain computational system with which one ormore embodiments of the invention are implemented.

FIG. 3 illustrates a computing platform for tracking data associatedwith an unmanned aerial vehicle according to an embodiment of theinvention.

FIG. 4 illustrates a blockchain for an unmanned aerial vehicle accordingto an embodiment of the invention.

FIG. 5A illustrates a blockchain methodology for tracking transactiondata according to an embodiment of the invention.

FIG. 5B illustrates a blockchain methodology for adding transaction datato a blockchain according to an embodiment of the invention.

FIG. 5C illustrates a blockchain methodology for validating transactiondata according to an embodiment of the invention.

FIG. 6 illustrates a methodology for processing a query received inrelation to an unmanned aerial vehicle according to an embodiment of theinvention.

FIG. 7 illustrates a computer system in accordance with which one ormore components/steps of techniques of the invention may be implementedaccording to an embodiment of the invention.

FIG. 8 illustrates a cloud computing environment according to anembodiment of the invention.

FIG. 9 illustrates abstraction model layers according to an embodimentof the invention.

DETAILED DESCRIPTION

Illustrative embodiments will be described below for tracking (moregenerally, managing) data associated with an unmanned aerial vehicle(UAV or drone). While illustrative techniques described herein areparticularly well-suited for managing data related to UAVs, it is to beunderstood that embodiments are not intended to be limited to managingdata related to UAVs. Furthermore, while a “blockchain” technology willbe described in one or more illustrative implementations, other types ofdata management technologies that generate a secure chain of data blocksmaintained at computing nodes in a distributed network may be employedin one or more embodiments.

FIG. 1 illustrates a block diagram of a system architecture of anexemplary UAV system 100. The system architecture may also be consideredan unmanned aircraft system. As shown, system 100 comprises UAV 110. UAV110 is shown comprising processor 112, power source 114, one or moresensors (“sensors”) 116, one more actuators (“actuators”) 118, andmemory 120. Communication interface 130 is shown providing an interfacebetween UAV 110 and UAV control 140, which may be a remote-controldevice or system (e.g., a ground control station).

More particularly, processor 112 comprises one or more processingdevices (e.g., microprocessor, controller, programmable integratedcircuit, etc.) configured to control the operations and functions of theUAV 110. Power source 114 comprises one or more power sources (e.g.,batteries, etc.) configured to provide electrical power to components ofthe UAV 110. Sensors 116 comprise one or more devices configured tocollect information (e.g., camera, microphone, environmental sensors,etc.) in the vicinity of the UAV 110. Actuators 118 comprise one or moredevices configured to actuate one or more mechanisms of the UAV 110(e.g., a mechanical arm or claw configured to grab and/or release anitem). Memory 120 comprises one or more memory/storage devices forstoring data associated with operation of UAV 110 (e.g., data collectedby sensors 116, flight data and other operational data associated withthe UAV).

Still further, the communication interface 130 comprises one or morewireless data transceivers configured to receive data from UAV control140, as well as transmit data thereto. For example, UAV control 140 maysend “fly-by-wire” commands to UAV 110. Fly-by-wire refers to asemiautomatic computer system for controlling the flight of an aircraft(e.g., UAV 110 may be controlled from a remote location by one or moreindividuals or other systems).

It is to be appreciated that the system architecture 100 shown in FIG. 1is for illustrative purposes only, and that alternative systemarchitectures for a UAV may be employed in accordance with embodimentsof the invention.

Prior to explaining the techniques for managing data associated with aUAV in accordance with illustrative embodiments, a brief explanation ofthe blockchain technology will now be given.

Blockchain is the name given to a technology that enables creation of adigital ledger or record of transactions and sharing of this ledger orrecord among a distributed network of computers. Blockchain wasoriginally developed as part of the bitcoin technology. Bitcoin is adigital asset and payment system. Blockchain technology usescryptography to allow each participant on the network to manipulate theledger in a secure way without the need for a central point of control.In the context of bitcoin, the blockchain technology maintains a publicledger of all bitcoin transactions that have previously occurred (i.e.,a chain of transactions). In the bitcoin case, every compatible clientis able to connect to the network, send new transactions to the network,verify transactions, and take part in the competition (called mining) tocreate new blocks. However, it is realized herein that blockchaintechnology can be adapted for other transactional applications toestablish trust, accountability and transparency without requiring acentral authority.

FIG. 2 illustrates a blockchain computational system 200 with which oneor more embodiments of the invention may be implemented. As shown, thesystem 200 comprises one or more data sources 202 operatively coupled toat least one of a plurality of distributed peer computing nodes 204-1,204-2, . . . , 204-6. The system 200 may have more or less computingnodes than the number illustrated in FIG. 2. Each computing node in thesystem 200 is configured to maintain a blockchain which is acryptographically secured (via a cryptographic hash function) record orledger of data blocks that represent respective activities ortransactions associated with an asset (e.g., UAV). A cryptographic hashfunction is a cryptographic function which takes an input (or “message”)and returns a fixed-size alphanumeric string, which is called the hashvalue (sometimes called a message digest, a digital fingerprint, adigest, or a checksum).

In FIG. 2, computing nodes 204-4, 204-5, and 204-6 are shown eachmaintaining the same blockchain (respectively illustrated as blockchains206-4, 206-5, and 206-6). Although not expressly shown, each computingnode in the system 200 is configured to be able to maintain this sameblockchain. Each blockchain is a growing list of data records hardenedagainst tampering and revision (i.e., secure). Each block in theblockchain (illustratively referenced as block 208 in blockchain 206-4)holds batches of one or more individual transactions and the results ofany blockchain executables (e.g., computations that can be applied tothe transactions). Each block typically contains a timestamp andinformation linking it to a previous block. More particularly, eachsubsequent block in the blockchain (e.g., 206-4, 206-5, 206-6, etc.) isa data block that includes a given transaction and a hash value of theprevious block in the chain (i.e., the previous transaction). Thus, eachdata block in the blockchain represents a given set of transaction dataplus a set of all previous transaction data (e.g., as illustrativelydepicted as 210 in FIG. 1).

Assume a new set of transaction data (new transaction TX) is obtainedfrom one of the one or more data sources 202, and received by computingnode 1 (204-1). Computing node 1 (204-1) can provide the new transactionTX to all or a subset of computing nodes in the system 200. In thiscase, TX is sent to computing node 2 (204-2), computing node 4 (204-4),and computing node 5 (204-5).

Note that computing node 204-5 is marked with a star symbol to denote itas a leader in a consensus protocol. That is, the computing nodes in thesystem 200 each are configured to participate in a consensus protocol aspeers with one peer being designated as a leader. Any peer can assumethe role of leader for a given iteration of the consensus protocol. Ingeneral, the leader receives all transactions from the participatingpeers in the system and creates a new block for the new transaction. Thenew block is sent out by the leader node to one or more of the otherpeer computing nodes (e.g., 204-3 and 204-6 as illustrated in FIG. 2)which double check (validate) that the leader computed the new blockproperly (i.e., the validating nodes agree by consensus). If consensusis reached, then the computing nodes in the system 100 add the new blockto the blockchain they currently maintain. As a result, after the newtransaction TX is processed by the system 200, each computing nodeshould now have a copy of the same updated blockchain stored in itsmemory. Then, when a new transaction comes into the system 200, theabove-described process of adding the transaction to the blockchain isrepeated.

It is to be understood that any single computing node may itself serveas the receiver, validator, and block generator for new transaction dataset. However, in the context of a consensus protocol, the more nodesthat validate the given transaction, the more trustworthy the data blockis considered.

It is to be further understood that the above description represents oneillustrative blockchain computation process and that embodiments of theinvention are not limited to the above or any particular blockchaincomputation implementation. As such, other appropriate cryptographicprocesses may be used to maintain and add to a secure chain of datablocks in accordance with embodiments of the invention.

Advantages of such a blockchain computational system include: (1) theability for independent nodes to converge on a consensus of a latestversion of a large data set (e.g., a ledger), even when the nodes arerun anonymously, have poor interconnectivity and may have operators whoare dishonest or otherwise malicious; (2) the ability for anywell-connected node to determine, with reasonable certainty, whether atransaction does or does not exist in the data set; (3) the ability forany node that creates a transaction to, after a confirmation period,determine with a reasonable level of certainty whether the transactionis valid, able to take place and become final (i.e., that no conflictingtransactions were confirmed into the block chain elsewhere that wouldinvalidate the transaction); (4) a prohibitively high cost to attempt torewrite or otherwise alter transaction history; and (5) automatedconflict resolution that ensures that conflicting transactions neverbecome part of the confirmed data set.

Illustrative embodiments adapt the blockchain computational system 200of FIG. 2 to manage data associated with a UAV. More particularly, aswill be described in detail herein, non-limiting, illustrativeembodiments apply blockchain technology to track UAV parameters andactivities and append data associated with such parameters andactivities as transactions in the blockchain in a secure manner.Management of UAV data is useful for chronicling at least a portion ofthe history of the UAV. Each entry associated with the chronicledhistory of the UAV may be embodied as a transaction of the blockchain.

As mentioned above, various characteristics and parameters of the UAVare securely tracked using the secure chain of data blocks including,but not limited to, UAV location (e.g., including elevation), UAVmanufacturer and/or model, UAV identification data, UAV capabilities(e.g., camera resolution), UAV flying behavior (e.g., erratic behavior),contextual information (e.g., weather conditions, proximity to arestricted/exclusion zone), etc. Contextual information may be importantregarding managing the flight of a UAV. For example, there are currentlyat least three major UAV no-fly or restricted fly zones: (1) nationalparks; (2) military bases; and (3) a predetermined radius (e.g., 5miles) around a major airport. As such, in accordance with illustrativeembodiments, transactions are added to the blockchain associated withthe UAV more frequently in response to a triggering event, such as whenthe risk level is high (e.g., flying near one of the no-fly orrestricted fly zones). Additionally, a smart contract may be implementedto determine that a UAV operator is meeting agreements regardingoperation of the UAV.

A restricted zone need not be stationary. For example, a restricted zonemight include a zone defined by a radius from a moving car with a publicfigure or other important person inside. Additionally, in somescenarios, it may be beneficial to allow a UAV to enter a restrictedzone. For example, if the purpose of a UAV is to transport perishablemedication, and it would be impossible to avoid the restricted zone todeliver the medication. As such, the UAV may be granted access to flythrough the restricted zone for the purpose of transporting themedication.

Furthermore, as will be explained in detail herein, illustrativeembodiments provide a blockchain computational system for implementingthe above and other management features wherein each computing nodecomprises controller modules for managing transaction data andblockchain computation. More particularly, each computing node in thesystem is configured to track information related to the UAV and appendthe information as transactions in a corresponding block chain.

As such, UAV transactions associated with a given stakeholder (i.e.,someone or something that is associated with the given environment) arecompiled into a chain of UAV transaction blocks. The chain can beconsidered a chronicle of a UAV's path through time. When a transactionis conducted, the corresponding UAV parameters are sent to one or moreof the computing nodes in the system (FIG. 2) for validation. The one ormore computing nodes establish a validity of the transaction andgenerate a new block. Once the new block has been calculated, it can beappended to the stakeholder's UAV blockchain. Among many otheradvantages, the use of a blockchain infrastructure helps in identifyingmisbehaving UAVs by multiple parties and such activities are recorded inan immutable ledger.

FIG. 3 illustrates a distributed computing platform on which ablockchain computational system (such as system 200 in FIG. 2) can beimplemented. More particularly, as shown, the distributed computingplatform 300 in FIG. 3 is similar to system 200 in FIG. 2 in that one ormore data sources 302 are operatively coupled to a plurality ofcomputing nodes 304-1, 304-2, 304-3, 304-4, . . . , 304-N. In FIG. 3,one or more communication networks 305 are shown as the mechanism forcoupling the data sources 302 and the computing nodes 304-1, 304-2,304-3, 304-4, . . . , 304-N.

As further shown, FIG. 3 illustrates component details of each of thecomputing nodes. While the component details are representativelydepicted for computing node 304-4, each computing node has suchcomponents. Each computing node is configured to include a transactiondata controller 310, a blockchain controller 312, and a risk assessmentcontroller 314. While functions of each controller will be described ingreater detail below, in general: the transaction data controller 310manages transaction data including, but not limited to, receiving orotherwise obtaining UAV transaction data; the blockchain controller 312manages blockchain computation including, but not limited to, accessingthe transaction data and generating and validating a block and addingthe block to a blockchain; and the risk assessment controller 314manages risk assessment including, but not limited to, risk factoranalysis and alert generation.

More particularly, transaction data, such as data associated with theUAV transactions described above, is provided to any given computingnode 304-1, 304-2, 304-3, 304-4, . . . , 304-N (from data source 302 orsome other computing node) for use in computing a blockchain. In oneexample, UAV system 100 is a data source 302. In an illustrativeembodiment, a plurality of UAV systems act as data sources for theblockchain network. The transaction data controller 310 is configured toreceive or otherwise obtain the transaction data for each computingnode, while the blockchain controller 312 is configured to compute theblockchain for each computing node. As will be further explained, therisk assessment controller 314 is configured to operate with the othercontrollers to track and assess risk with respect to the UAV. Such riskassessment can be used to trigger an addition to the blockchain, as wellas to generate alerts or other actions.

As discussed above in the context of FIG. 2, at least a portion of thecomputing nodes may be configured to participate in a consensus protocolas peers (i.e., validating peers or validating nodes) with one peerbeing designated as a leader. Validating nodes may be associated with,for example, other UAVs, airspace controllers, UAV owners, regulatorybodies, etc.

The distributed computing platform 300 may further support an electronictally system. In one embodiment, the distributed computing platform 300may further comprise a distributed network of one or more ratingmodules, which are represented by rating modules 320-1 through 320-N inFIG. 3. In one embodiment, each rating module is located, for example,near a restricted area. Each rating module is a computer system runninga rating client that is associated with a network communications device.Each rating module is configured to collect ratings, votes, comments,complaints, etc. regarding operation of the UAV. For example, UAVs maybe rated on a numeric or other relative scaling system based on theirindividual adherence to rules of operations. Accordingly, the blockchainmay comprise an auditable trail of ratings for the UAV. At the sametime, the blockchain can maintain a tally which can be used to detect,correct, and prevent fraud and error in the rating process.

Note also that a unique identifier (UID) or token for a UAV may be usedto form a decentralized instrument Internet of Things (IoT) network,wherein items (in this case, UAVs) are considered “smart devices” thatare connected to the blockchain through their corresponding UID ortoken. This allows institutional wide tracking of UAVs. Such an IoT ofinstruments is embodied by the UAV system architectures in FIG. 1 andthe computing platform 300 in FIG. 3. That is, the instruments aretrackable through the network(s) 305 that operatively couple thecomputing nodes that store the blockchain.

Given the above-described examples of transaction data (e.g., describedin the context of FIGS. 2 and 3), FIG. 4 illustrates a blockchain 400for tracking transactions related to a UAV, according to an embodimentof the invention. Each computing node in the computing platform 300 isconfigured to compute blockchain 400. As shown, each block (after block1) includes a new transaction for the UAV plus a hash value computed forthe previous block. Thus, each data block in the blockchain represents agiven set of transaction data plus a set of all previous transactiondata, e.g., block N contains data for UAV transaction N plus a hashvalue that represents all previous N−1 blocks.

FIG. 5A illustrates a blockchain methodology 500 for tracking UAV dataaccording to an embodiment of the invention. This methodology 500 can beperformed by each computing node in the computing platform 300. In step502, a blockchain is maintained at a given computing node. Theblockchain comprises one or more data blocks that respectively representone or more transactions associated with a UAV. Note that, inillustrative embodiments described herein, step 502 is performed by theblockchain controller 312 based on transaction data obtained through thetransaction data controller 310. In step 504, a data block is added tothe blockchain in response to determining that transaction dataassociated with the at least one data block is valid.

In one embodiment, a rate at which data blocks are added to theblockchain (i.e., the block append rate) may be modified based on a riskassessment data set. For example, if it is determined that there is anincreased risk associated with the UAV based on the risk assessment dataset (e.g., if the UAV is flying near certain restricted areas, wildlifepreserves, hospitals, etc.), the rate at which the data blocks are addedto the blockchain may increase at step 506. Note that, in illustrativeembodiments described herein, step 506 is performed by the blockchaincontroller 312 based on the risk assessment trigger managed by the riskassessment controller 314. Note also that the risk assessment controller314 may utilize statistical algorithms and/or machine learning modelsthat use historical blockchain or off-chain data. Off-chain data refersto data within the system that is not in a blockchain. For example,off-chain data may refer to multimedia data such as the raw videostreaming data captured by the UAV. In one embodiment, the system onlystores the hash values of such raw for scalability. Note that althoughsuch raw data is not stored as part of the blockchain, in one or moreembodiment, access to it is controlled by one or more smart contracts.

A transaction may be any of, by way of example only, registering a UAV,updating UAV details, UAV flying, and UAV performing activities (e.g.,video streaming, querying information, uploading information). Theblockchain technology is then used to securely maintain data about suchtransactions (i.e., transaction data) to establish security, trust,accountability and transparency with regard to the UAV without requiringa central authority. Furthermore, any event related to the UAV,including but not limited to hardware maintenance/update, softwareupdate, purpose or mission change, etc., may be tracked and stored as atransaction within the UAV blockchain. Such techniques have wide rangingadvantages for UAV management.

For example, a UAV may be registered into the blockchain through a UAVregistration transaction. During the UAV registration transaction,detailed information regarding the UAV is appended to a historic UAVblockchain. Such detailed information regarding the UAV may include, forexample, UAV mission or purpose (e.g., healthcare supplier UAV, heartdelivery UAV, emergency response UAV), UAV owner, and other identifyinginformation that may be pertinent to UAV registration.

In one embodiment, upon the first registration of a UAV, a token may beassigned to the UAV (and may also be provided to the owner of the UAV).Any transaction related to the UAV may include the token assigned to theUAV. For example, a query for fetching the details of a UAV may pass thetoken and a public key. Any authorized entity connected to this systemmay verify the identity of the UAV as long as they present the token aspart of the transaction. Further details regarding a query for fetchingthe details of the UAV will be described below with reference to FIG. 6.

Any event or information related to the UAV may be tracked and added tothe UAV blockchain. For example, the UAV blockchain may further includeinformation on presence, activation, and/or capabilities of UAV sensors(e.g., wavelength sensitivity, sensor types such as, e.g., thermaland/or chemical, and sensor resolution), actuators, software versions(e.g., collision avoidance software), communication features, etc.

For example, it is realized that a UAV equipped with very sophisticatedor high-resolution sensors could be of more concern (e.g., for privacyand security) than a UAV with no such sensors, and thus this informationis added to the blockchain. By way of further example, if a sensor isturned on (activated) or turned off, this information is added to theblockchain.

FIG. 5B illustrates a methodology 510 for adding data to a blockchainthat is used to track a UAV according to an embodiment of the invention.The methodology 510 is a more detailed example of step 504 in FIG. 5A.As shown, in step 512, a computing node in the computing platform 300receives transaction data associated with the UAV. In step 514, acomputing node in the computing platform 300 determines a validity ofthe received transaction data. In step 516, a computing node in thecomputing platform 300 computes a data block for the transaction data inresponse to the transaction data being validated. In step 518, acomputing node in the computing platform 300 appends the computed datablock to a blockchain associated with the UAV.

It is to be appreciated that each step of methodology 510 can beperformed at the same computing node or the one or more steps can beseparately performed at different computing nodes. That is, depending onthe consensus protocol used (assuming one is used), the steps aredistributively performed across the computing platform 300 or withineach computing node. The result is that each computing node preferablymaintains the same updated blockchain for the UAV.

FIG. 5C illustrates a blockchain methodology 520 for validating receivedtransaction data according to an embodiment of the invention. Themethodology 520 is a more detailed example of step 514 in FIG. 5B. Thismethodology 520 can be performed by each computing node in the computingplatform 300.

At step 522, a block identifier is obtained from a blockchain associatedwith a UAV. In one embodiment, one or more validating devices/nodes(i.e., validating peers) obtain the block identifier from theblockchain. The blockchain may represent a chronicle of activitiesassociated with the UAV, such as the particular rating, UAV history,historic flying logs of UAV operators, etc.

In one embodiment, the validating peers may be based on open blockchaintechnology (i.e., based on the principle of a permissioned network). Inanother embodiment, the validating peers may be based on apermission-less blockchain technology, where the validating peersestablish a validity of the transaction and generate a new block via a“proof-of-work” principle. Although the methodology described herein inFIG. 5C focuses on the use of validating peers based on open blockchaintechnology, the principles described herein may be applied to validatingpeers based on permission-less blockchain technology.

At step 524, one or more chaincodes (“chaincode”) are executed using avalidity requirement, and one or more validation outputs are generatedbased on the executed chaincode. Chaincode is the implementation of thebusiness logic in a computer programming language. Thus, business logiccomprises one or more rules describing how things should be done and allparticipants agree to the rules. By way of example only, a business rulemay describe the legal or authorized uses of a UAV. Advantageously, inillustrative embodiments, each participating computing node in theblockchain network runs the same chaincode, and thus adheres to the samebusiness logic/rules.

Thus, the chaincode may be employed to track or validate transactionsassociated with the UAV. In one embodiment, at least a portion of thevalidating peers execute the chaincode, and generate respectivevalidation outputs. The chaincode may be computer programs deployed ateach validating peer. In one embodiment, the at least a portion of thevalidating peers comprises all of the validating peers. The chaincodeblock of validating devices may take into consideration one or moretokens, such as one or more security and privacy (S&P) tokens associatedwith the UAV.

The validity requirement may be received with respect to, for example,one or more of UAV operator rating, feedback or comments, UAV behavior,flying actions indicating criteria that must be met in order for thevalidation system to accept a validation event with respect to thetransaction. In one embodiment, the validity requirement is encoded inthe chaincode. Additional data may be encoded in the chaincode as well.Additionally, flying safety and/or law enforcement regulations and/orstandards may be encoded in the chaincode to validate the UAV behaviorwith respect to these regulations and/or standards.

At step 526, the validation outputs generated by the validating peersare received by a consensus algorithm.

At step 528, it is determined if consensus has been reached. If yes, anew block is written to the blockchain at step 530. However, if aconsensus has not been reached, the new block is discarded at step 532.Accordingly, validated transactions are added to the blockchain.

In one embodiment, if there is no consensus on the UAV's behavior duringa flight, the UAV may also be flagged and sent a command to return to aparticular location at step 534. For example, authorized owners orblockchain miners may flag the UAV. The particular location may be, forexample, a predetermined location, an agreed-upon location, its dockingstation, etc. In one embodiment, the command to return to the particularlocation may specify that the UAV remain grounded for a given timeperiod. Alternatively, the UAV may be forced to remain grounded until itis subsequently cleared to fly.

FIG. 6 illustrates a methodology 600 for providing query serviceassociated with a blockchain, according to an embodiment of the presentinvention.

As shown, at step 602, the blockchain system receives a query. In oneembodiment, a client device generates the query and sends the query tothe blockchain system, e.g., to one or more of the nodes in FIG. 3. Thequery may comprise one or more of a count rating query, a fake ratingquery, a sentiment query, a feature query and a cohort query.

At step 604, the data associated with the blockchain is obtained usingone or more (intelligent) data extraction algorithms. For example,conventional data extraction techniques can be used to extract thequeried data from the blockchain.

At step 606, one or more results are generated using one or more tools,and the one or more results are sent to the client device insatisfaction of the query. In one embodiment, the one or more toolsinclude one or more analytic algorithms and one or more built-infunctions via one or more application programming interfaces (APIs)(e.g., Restful APIs). Examples of built-in functions include, forexample, History( ) Journey( ) and Compliance( ) History( ) takes thetoken associated with the UAV as input, and returns a history of UAVflight. The history of the UAV flight may either be in the last fewminutes, such as while in a risky situation, or for longer periods oftime. Journey( ) takes the token associated with the UAV and a time T asinputs, and returns a journey map of the UAV over time T. The Journey( )function may be useful in the context of UAV tracking. Compliance( )takes the token associated with the UAV and a location L of the UAV, andreturns a security and privacy (S&P) or compliance level of the locationL.

At step 608, the results are transmitted to the client device fordisplay.

Illustrative embodiments described herein store data associated with aUAV in a blockchain system, where any data transaction is managed byconsensus. The UAV may be a registered member through a blockchainmembership system. In one embodiment, the blockchain membership systemis a public key infrastructure (PKI) system. PKI refers to a set ofroles, policies and procedures for creating, managing, distributing,using, storing and revoking digital certificates, and managingpublic-key encryption. PKI generates the right public-private key pairto be associated to the UAV. In this way, any data uploaded to theblockchain associated with the UAV may be signed using the private keyassociated with the UAV.

Many advantages are realized through the blockchain computational systemdescribed herein. Illustrative embodiments described herein may beutilized to track information associated with the UAV. Similarly, thehealth, status, condition, behavior, etc. of the UAV may be monitored byquerying the blockchain of the UAV. In some embodiments, the UAV may bepart of an Internet of Things (IOT) network. In these embodiments, theUAV may access UAV traffic information, collect information about theenvironment (e.g., wind, rain, snow, darkness), and upload the accessedand collected information into the blockchain associated with the UAV.The collection of the environment data may be obtained from one or moreinstruments, such as one or more sensors (e.g., 116 in FIG. 1)associated with the UAV.

The blockchain computational system described herein may also be used tofacilitate a variety of services, including but not limited to: (1) lockin attribution by creating a permanent and unbreakable link between avehicle and its transactions/traversals; (2) secure sharing oftransactions/traversals with other interested parties by transferring orcopying a transaction/traversal record; (3) increase visibility byhelping trace where and how UAV transactions/traversals spread through aregion (e.g., by showing all locations that the UAV has appeared and/orall of the transactions/traversals the UAV had over time); (4)certificate of authenticity (CoA) functionality (e.g., each registeredtransaction/traversal may come with a CoA, a built-in uniquecryptographic ID and the complete transaction history, so that the CoAcan be verified at any time and/or printed out); (5) limited digitaledition creation; and (6) licensing by helping users transfer or loan aUAV from one UAV service to another.

The blockchain computational system described herein may facilitatemining of blockchains of one or more UAVs. As one example, theblockchain computational system may facilitate the mining of blockchainsof other UAVs flying in the vicinity (i.e., radius) of a given UAV inreal (or near-real) time, as well as in the past for a region of space.The vicinity or radius parameter may be controlled or adjusted based onthe mission or purpose of the UAV. To illustrate, the given UAV maydetect that six other UAVs are in the vicinity of the given UAV, butonly five of those six are actively updating their blockchains. Such asituation may indicate an area of concern regarding the UAV that is notactively updating its blockchain. As another example, the blockchaincomputational system may facilitate the mining of a block associatedwith a given UAV to determine if the given UAV is exhibiting erraticflying behavior. The system may further assign a confidence level to thedetermination. As yet another example, the blockchain computationalsystem may facilitate the mining of a block associated with a given UAVto determine if the operation of the UAV has committed a security andprivacy violation and/or a compliance violation. If so, further actionmay be taken depending on the level of the violation or the risk leveldue to the violation. Examples of actions that may be taken include, forexample, transmission of a signal to authorities, monetary fine, flyingrestriction (e.g., if the UAV violated safety standards), etc.

The blockchain computational system described herein may be used toimplement a UAV warning system. For example, a moderator may define aflying protocol for a given zone (which may be different for eachday/hour). The protocol can be defined in terms of thresholds on variousattributes (e.g., maximum number of UAVs flying at a given point,maximum allowed speed, etc.) The attributes of the UAVs can be comparedagainst the protocol, and the UAVs violating the protocol can be warnedto comply. In one embodiment, predictive models of UAV movements may begenerated and used in order to send an early warning to those UAVs thatare predicted to violate the protocol in the (near) future.

One or more embodiments can make use of software running on a computeror workstation. With reference to FIG. 7, in a computing node 710 thereis a system/server 712, which is operational with numerous other generalpurpose or special purpose computing system environments orconfigurations. Examples of well-known computing systems, environments,and/or configurations that may be suitable for use with system/server712 include, but are not limited to, personal computer systems, servercomputer systems, thin clients, thick clients, handheld or laptopdevices, multiprocessor systems, microprocessor-based systems, set topboxes, programmable consumer electronics, network PCs, minicomputersystems, mainframe computer systems, and distributed cloud computingenvironments that include any of the above systems or devices, and thelike. Each computing node in the computing platform 200 can implementthe architecture shown in computing node 710.

System/server 712 may be described in the general context of computersystem executable instructions, such as program modules, being executedby a computer system. Generally, program modules may include routines,programs, objects, components, logic, data structures, and so on thatperform particular tasks or implement particular abstract data types.System/server 712 may be practiced in distributed cloud computingenvironments where tasks are performed by remote processing devices thatare linked through a communications network. In a distributed cloudcomputing environment, program modules may be located in both local andremote computer system storage media including memory storage devices.

As shown in FIG. 7, system/server 712 is shown in the form of acomputing device. The components of system/server 712 may include, butare not limited to, one or more processors or processing units 716,system memory 728, and bus 718 that couples various system componentsincluding system memory 728 to processor 716.

Bus 718 represents one or more of any of several types of busstructures, including a memory bus or memory controller, a peripheralbus, an accelerated graphics port, and a processor or local bus usingany of a variety of bus architectures. By way of example, and notlimitation, such architectures include Industry Standard Architecture(ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA)bus, Video Electronics Standards Association (VESA) local bus, andPeripheral Component Interconnects (PCI) bus.

System/server 712 typically includes a variety of computer systemreadable media. Such media may be any available media that is accessibleby system/server 712, and it includes both volatile and non-volatilemedia, removable and non-removable media.

The system memory 728 can include computer system readable media in theform of volatile memory, such as random access memory (RAM) 730 and/orcache memory 732. System/server 712 may further include otherremovable/non-removable, volatile/nonvolatile computer system storagemedia. By way of example only, storage system 734 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”), and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to bus 718 by one or more datamedia interfaces.

As depicted and described herein, memory 728 may include at least oneprogram product having a set (e.g., at least one) of program modulesthat are configured to carry out the functions of embodiments of theinvention. A program/utility 740, having a set (at least one) of programmodules 742, may be stored in memory 728 by way of example, and notlimitation, as well as an operating system, one or more applicationprograms, other program modules, and program data. Each of the operatingsystem, one or more application programs, other program modules, andprogram data or some combination thereof, may include an implementationof a networking environment. Program modules 742 generally carry out thefunctions and/or methodologies of embodiments of the invention asdescribed herein.

System/server 712 may also communicate with one or more external devices714 such as a keyboard, a pointing device, an external data storagedevice (e.g., a USB drive), display 724, one or more devices that enablea user to interact with system/server 712, and/or any devices (e.g.,network card, modem, etc.) that enable system/server 712 to communicatewith one or more other computing devices. Such communication can occurvia I/O interfaces 722. Still yet, system/server 712 can communicatewith one or more networks such as a LAN, a general WAN, and/or a publicnetwork (e.g., the Internet) via network adapter 720. As depicted,network adapter 720 communicates with the other components ofsystem/server 712 via bus 718. It should be understood that although notshown, other hardware and/or software components could be used inconjunction with system/server 712. Examples include, but are notlimited to, microcode, device drivers, redundant processing units,external disk drive arrays, RAID systems, tape drives, and data archivalstorage systems, etc.

It is to be understood that although this disclosure includes a detaileddescription on cloud computing, implementation of the teachings recitedherein are not limited to a cloud computing environment. Rather,embodiments of the present invention are capable of being implemented inconjunction with any other type of computing environment now known orlater developed.

Cloud computing is a model of service delivery for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g., networks, network bandwidth, servers, processing,memory, storage, applications, virtual machines, and services) that canbe rapidly provisioned and released with minimal management effort orinteraction with a provider of the service. This cloud model may includeat least five characteristics, at least three service models, and atleast four deployment models.

Characteristics are as follows:

On-demand self-service: a cloud consumer can unilaterally provisioncomputing capabilities, such as server time and network storage, asneeded automatically without requiring human interaction with theservice's provider.

Broad network access: capabilities are available over a network andaccessed through standard mechanisms that promote use by heterogeneousthin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

Resource pooling: the provider's computing resources are pooled to servemultiple consumers using a multi-tenant model, with different physicaland virtual resources dynamically assigned and reassigned according todemand. There is a sense of location independence in that the consumergenerally has no control or knowledge over the exact location of theprovided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or datacenter).

Rapid elasticity: capabilities can be rapidly and elasticallyprovisioned, in some cases automatically, to quickly scale out andrapidly released to quickly scale in. To the consumer, the capabilitiesavailable for provisioning often appear to be unlimited and can bepurchased in any quantity at any time.

Measured service: cloud systems automatically control and optimizeresource use by leveraging a metering capability at some level ofabstraction appropriate to the type of service (e.g., storage,processing, bandwidth, and active user accounts). Resource usage can bemonitored, controlled, and reported, providing transparency for both theprovider and consumer of the utilized service.

Service Models are as follows:

Software as a Service (SaaS): the capability provided to the consumer isto use the provider's applications running on a cloud infrastructure.The applications are accessible from various client devices through athin client interface such as a web browser (e.g., web-based e-mail).The consumer does not manage or control the underlying cloudinfrastructure including network, servers, operating systems, storage,or even individual application capabilities, with the possible exceptionof limited user-specific application configuration settings.

Platform as a Service (PaaS): the capability provided to the consumer isto deploy onto the cloud infrastructure consumer-created or acquiredapplications created using programming languages and tools supported bythe provider. The consumer does not manage or control the underlyingcloud infrastructure including networks, servers, operating systems, orstorage, but has control over the deployed applications and possiblyapplication hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to theconsumer is to provision processing, storage, networks, and otherfundamental computing resources where the consumer is able to deploy andrun arbitrary software, which can include operating systems andapplications. The consumer does not manage or control the underlyingcloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networkingcomponents (e.g., host firewalls).

Deployment Models are as follows:

Private cloud: the cloud infrastructure is operated solely for anorganization. It may be managed by the organization or a third party andmay exist on-premises or off-premises.

Community cloud: the cloud infrastructure is shared by severalorganizations and supports a specific community that has shared concerns(e.g., mission, security requirements, policy, and complianceconsiderations). It may be managed by the organizations or a third partyand may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the generalpublic or a large industry group and is owned by an organization sellingcloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or moreclouds (private, community, or public) that remain unique entities butare bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting forload-balancing between clouds).

A cloud computing environment is service oriented with a focus onstatelessness, low coupling, modularity, and semantic interoperability.At the heart of cloud computing is an infrastructure that includes anetwork of interconnected nodes.

Referring now to FIG. 8, illustrative cloud computing environment 850 isdepicted. As shown, cloud computing environment 850 includes one or morecloud computing nodes 810 with which local computing devices used bycloud consumers, such as, for example, personal digital assistant (PDA)or cellular telephone 854A, desktop computer 854B, laptop computer 854C,and/or automobile computer system 854N may communicate. Nodes 810 maycommunicate with one another. They may be grouped (not shown) physicallyor virtually, in one or more networks, such as Private, Community,Public, or Hybrid clouds as described hereinabove, or a combinationthereof. This allows cloud computing environment 850 to offerinfrastructure, platforms and/or software as services for which a cloudconsumer does not need to maintain resources on a local computingdevice. It is understood that the types of computing devices 854A-Nshown in FIG. 8 are intended to be illustrative only and that computingnodes 810 and cloud computing environment 850 can communicate with anytype of computerized device over any type of network and/or networkaddressable connection (e.g., using a web browser).

Referring now to FIG. 9, a set of functional abstraction layers providedby cloud computing environment 850 (FIG. 8) is shown. It should beunderstood in advance that the components, layers, and functions shownin FIG. 9 are intended to be illustrative only and embodiments of theinvention are not limited thereto. As depicted, the following layers andcorresponding functions are provided:

Hardware and software layer 960 includes hardware and softwarecomponents. Examples of hardware components include: mainframes 961;RISC (Reduced Instruction Set Computer) architecture based servers 962;servers 963; blade servers 964; storage devices 965; and networks andnetworking components 966. In some embodiments, software componentsinclude network application server software 967 and database software968.

Virtualization layer 970 provides an abstraction layer from which thefollowing examples of virtual entities may be provided: virtual servers971; virtual storage 972; virtual networks 973, including virtualprivate networks; virtual applications and operating systems 974; andvirtual clients 975.

In one example, management layer 980 may provide the functions describedbelow. Resource provisioning 981 provides dynamic procurement ofcomputing resources and other resources that are utilized to performtasks within the cloud computing environment. Metering and Pricing 982provide cost tracking as resources are utilized within the cloudcomputing environment, and billing or invoicing for consumption of theseresources. In one example, these resources may include applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks, as well as protection for data and other resources.User portal 983 provides access to the cloud computing environment forconsumers and system administrators. Service level management 984provides cloud computing resource allocation and management such thatrequired service levels are met. Service Level Agreement (SLA) planningand fulfillment 985 provide pre-arrangement for, and procurement of,cloud computing resources for which a future requirement is anticipatedin accordance with an SLA.

Workloads layer 990 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include: transactiondata capture 991; blockchain computation 992; data analytics processing993; risk assessment 994; alert processing 995; andameliorative/corrective/remedial action implementation 996, which mayperform various functions described above.

Embodiments of the present invention may be a system, a method, and/or acomputer program product at any possible technical detail level ofintegration. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Embodiments of the present invention are described herein with referenceto flowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general-purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

Although illustrative embodiments have been described herein withreference to the accompanying drawings, it is to be understood that theinvention is not limited to those precise embodiments, and that variousother changes and modifications may be made by one skilled in the artwithout departing from the scope or spirit of the invention.

What is claimed is:
 1. A method, comprising: maintaining a secure chainof data blocks at a given computing node, wherein the given computingnode is part of a set of computing nodes in a distributed network ofcomputing nodes wherein each of the set of computing nodes maintains thesecure chain of data blocks, wherein the secure chain of data blocksmaintained at each computing node comprises one or more data blocks thatrespectively represent one or more transactions associated with anunmanned aerial vehicle (UAV); and adding at least one data block to thesecure chain of data blocks maintained at the given computing node inresponse to determining that transaction data associated with the atleast one data block is valid; wherein the UAV is associated with one ormore agreements regarding operation of the UAV, and wherein the securechain of data blocks is implemented with the one or more agreements todetermine that the UAV is meeting the one or more agreements; andwherein the maintaining and adding steps are implemented via at leastone processor operatively coupled to a memory associated with the givencomputing node.
 2. The method of claim 1, wherein the secure chain ofdata blocks represents a transaction path of the UAV through time. 3.The method of claim 1, wherein the adding step further comprises thegiven computing node: receiving the transaction data associated with theUAV; determining a validity of the received transaction data; computingthe at least one data block for the transaction data in response to thetransaction data being validated; and appending the computed data blockto the secure chain of data blocks maintained at the given computingnode.
 4. The method of claim 3, wherein validating the receivedtransaction data comprises: obtaining a block identifier from the securechain of data blocks; executing chaincode using a validity requirement;and generating one or more validation outputs based on the executedchaincode.
 5. The method of claim 4, wherein the one or more validationoutputs are utilized in a consensus protocol.
 6. The method of claim 5,wherein the data block for the transaction data is computed in responseto the consensus protocol determining that a consensus has been reached.7. The method of claim 3, wherein managing the UAV comprises commandingthe UAV to travel to a particular destination in response to theconsensus protocol determining that a consensus has been reached.
 8. Themethod of claim 3, wherein transaction data comprises one or more of:data representing health or repair path of the UAV, data representingregistration of the UAV, data representing hardware maintenance orupdates, data representing software maintenance or updates, dataobtained from one or more UAV sensors, data representing presence of oneor more sensors on the UAV, data representing capabilities of one ormore sensors on the UAV, data representing activation of one or moresensors on the UAV, data representing UAV location, and datarepresenting UAV rating.
 9. The method of claim 8, wherein the datarepresenting UAV rating is received via one or more rating modulescomprised within a distributed network.
 10. The method of claim 3,wherein the transaction data comprises a risk assessment data set. 11.The method of claim 10, wherein the risk assessment data set comprisesone or more of: data associated with the UAV that is stored in thesecure chain; and data associated with the UAV that is not stored in thesecure chain.
 12. The method of claim 10, further comprising increasinga data block adding rate in response to determining an increased riskassociated with the UAV based on the risk assessment data set.
 13. Themethod of claim 12, wherein the risk assessment data set is analyzedusing at least one of a statistical algorithm and a machine learningalgorithm.
 14. The method of claim 10, wherein the risk assessment dataset comprises one or more risk factors relevant to flight of the UAV.15. The method of claim 14, wherein the one or more risk factors areassociated with a proximity of the UAV to a restricted area during theflight of the UAV.
 16. A method comprising: maintaining a secure chainof data blocks at a given computing node, wherein the given computingnode is part of a set of computing nodes in a distributed network ofcomputing nodes wherein each of the set of computing nodes maintains thesecure chain of data blocks, wherein the secure chain of data blocksmaintained at each computing node comprises one or more data blocks thatrespectively represent one or more transactions associated with anunmanned aerial vehicle (UAV); and adding at least one data block to thesecure chain of data blocks maintained at the given computing node inresponse to determining that transaction data associated with the atleast one data block is valid; and one or more of: managing the UAV byutilizing the secure chain of data blocks; and mining one or more securechains of data blocks associated with one or more respective UAVs, anddetermining one or more areas of concern based on the mining; whereinthe maintaining and adding steps are implemented via at least oneprocessor operatively coupled to a memory associated with the givencomputing node.
 17. The method of claim 16, wherein the one or moreareas of concern comprise one or more of erratic flying behavior,security and privacy violation, and compliance violation.
 18. Anapparatus, comprising: at least one processor; and a memory operativelycoupled to the processor to form a given computing device that is partof a set of computing nodes in a distributed network of computing nodeswherein each of the set of computing nodes maintains a secure chain ofdata blocks, the processor and memory configured to: maintain the securechain of data blocks at the given computing node, wherein the securechain of data blocks maintained at each computing node comprises one ormore data blocks that respectively represent one or more transactionsassociated with an unmanned aerial vehicle (UAV); and add at least onedata block to the secure chain of data blocks maintained at the givencomputing node in response to determining that transaction dataassociated with the at least one data block is valid; wherein the UAV isassociated with one or more agreements regarding operation of the UAV,and wherein the secure chain of data blocks is implemented with the oneor more agreements to determine that the UAV is meeting the one or moreagreements.
 19. The apparatus of claim 18, wherein the secure chain ofdata blocks represents a transaction path of the UAV through time.
 20. Acomputer program product comprising a processor-readable storage mediumhaving encoded therein executable code of one or more software programs,wherein the one or more software programs when executed by the one ormore processors implement steps of: maintaining a secure chain of datablocks at a given computing node, wherein the given computing node ispart of a set of computing nodes in a distributed network of computingnodes wherein each of the set of computing nodes maintains the securechain of data blocks, wherein the secure chain of data blocks maintainedat each computing node comprises one or more data blocks thatrespectively represent one or more transactions associated with anunmanned aerial vehicle (UAV); and adding at least one data block to thesecure chain of data blocks maintained at the given computing node inresponse to determining that transaction data associated with the atleast one data block is valid; wherein the UAV is associated with one ormore agreements regarding operation of the UAV, and wherein the securechain of data blocks is implemented with the one or more agreements todetermine that the UAV is meeting the one or more agreements.